package cn.harveychan.xuecheng.manage_cms.dao;

import cn.harveychan.xuecheng.framework.domain.cms.CmsPage;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;

public interface CmsPageRepository extends MongoRepository<CmsPage, String> {

    /**
     * 根据页面名称查询
     *
     * @param pageName
     * @return
     */
    public CmsPage findByPageName(String pageName);

    /**
     * 根据页面名称和类型查询
     *
     * @param pageName
     * @param pageType
     * @return
     */
    public CmsPage findByPageNameAndPageType(String pageName, String pageType);

    /**
     * 根据站点和页面类型查询记录数
     *
     * @param siteId
     * @param pageType
     * @return
     */
    public int countBySiteIdAndPageType(String siteId, String pageType);

    /**
     * 根据站点和页面类型分页查询
     *
     * @param siteId
     * @param pageType
     * @param pageable
     * @return
     */
    public Page<CmsPage> findBySiteIdAndPageType(String siteId, String pageType, Pageable pageable);
}
